The present disclosure relates generally to information handling systems, and more particularly to an enhanced unified extensible firmware interface (UEFI) framework layer that can be integrated into an independent basic input/output system (BIOS) vendor's (IBV's) BIOS.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option is an information handling system (IHS). An IHS generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes. Because technology and information handling needs and requirements may vary between different applications, IHSs may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in IHSs allow for IHSs to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, IHSs may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
To add new functionality, IHS manufacturers may develop new Uniform Extensible Firmware Interface (UEFI) based basic input/output system (BIOS) for both desktop and Portable devices. In order to support the functionality and capabilities that the manufacturer has had in its prior BIOS offerings, changes are required to the UEFI framework. These changes may provide enhancements to the UEFI framework. The other parts of the UEFI BIOS, Pre-memory/pre-EFI Initialization (e.g., PEI) Drivers, Driver execution Environment (e.g., DXE) Drivers & System Management Mode (SMM) BIOS code, may then use this enhanced set of framework interfaces (e.g., protocols) to access the IHS. This does not cause a problem as long as the code that is being developed is only going to be used internal to the IHS manufacturer's BIOS and hence have access to the new framework interfaces.
For ease of interchangeability of systems and to support manufacturability by different vendors, it is desirable that the IHS manufacturer provide some of the internally developed PEI, DXE and SMM functionality and that those code objects could then be plugged into Original Design Manufacturer (ODM) UEFI BIOSs or Independent BIOS Vendor (IBV) BIOSs to maintain the IHS manufacturer's BIOS behavior even when the BIOS being used is an ODM or IBV product that is not the IHS manufacturer's internally developed UEFI BIOS. This poses a problem, because the IHS manufacturer PEI, DXE and SMM functionality is dependent on the framework changes that were made in the IHS manufacturer's internally developed UEFI BIOS to provide additional capabilities. As such, these modules are presented as being personality modules that could be plugged in at will to another vendor's UEFI BIOS.
However, using these personality modules poses a problem because the IHS manufacturer's UEFI personality modules are not traditionally designed provided to plug into an ODM's or IBV's UEFI BIOS with the standard UEFI Framework interfaces. In other words, personality modules are provided to use the IHS manufacturer's enhanced UEFI Framework interfaces and are not provided to be pluggable into a UEFI BIOS that is using the standard UEFI Framework interfaces. Without another solution, the IHS manufacturer may thus be required to provide its BIOS source code to ODMs or IBV BIOS providers in order for the IHS manufacturer's personality modules to work with these outside systems.
Accordingly, it would be desirable to provide an improved unified extensible firmware interface framework layer absent the disadvantages discussed above.